1. Field of the Invention
This invention relates to a software-module loading method for loading a module necessary for executing an application, which operates in a device connected to a network, from a remote terminal connected to the network.
2. Description of the Related Art
In FIG. 10, a device and a terminal are connected to a network. FIG. 10 illustrates a typical system configuration according to the related art for loading a software-module in a device from a terminal, which is disclosed in Japanese Unexamined Published Patent Application HEI 11-45174.
In FIG. 10, a device 111, a terminal 112, a network 113 to which the device 111 and the terminal 112 are connected, an application 114 which operates in the device 111, a platform 120 (OS, i.e., operating system) for executing the application 114, application classes 115 (files A, B, and C) for realizing a function of the application 114, a core class 116 (copy filter) for managing and changing the application classes 115, an application class loader 117 for loading the application classes 115, sub-core-modules 118 for realizing a function of the core class, and a core class loader 121 for loading the core class 116 and each of the sub-core-modules 118 used in the core class 116 are illustrated.
In case that the application classes 115 are changed to new modules for upgrading the application 114 which operates in the device 111, the application class 115 is changed by being loaded through the application class loader 117 with a module loading function in the core class 116.
Explanations are made specifically with reference to FIG. 10.
The platform 120 loads the core class 116, the application class loader 117 and each of the sub-core-modules 118 by using the core class loader 121, and starts the core class 116 for starting the application 114.
When the core class 116 is started, the core class 116 loads the application class 115 by using the application class loader 117, and starts the application class 115 for realizing a function of the application 114.
In case that the application class 115 is to be changed, the core class 116 stops each of the application classes 115, loads a new application class 115 by using the application class loader 117 again, and starts an operation of the new application class 115. As started, in this related art, the application class loader (rename unit) is started without using the OS, and the application class is changed. However, in other related arts, since a load-module is (changed) started from the OS, the OS must be stopped once to change the application class.
In the above-stated case, the application class 115 can be changed by the core class 116 using the application class loader 117. However, in case that a function of the core class 116 is to be upgraded, it is necessary that the platform 120 is restarted and a new module (core class) is loaded by the core class loader 121 again. Otherwise, since the core class 116 and the application class loader 117 and sub-core-module 118 which are used in the core class 116 are loaded by the core class loader 121 in the platform 120 (virtual OS), loading of the module must be supported by the platform 120 while it is active.
Normally, since loading of the module is not supported by the platform 120, it is necessary to stop a system once and restart the platform for changing the core class 116 and the application class loader 117. As stated, if a changing range is set not to stop the system, only the application class 115 can be upgraded in the application 114. Even starting processing for changing the application class 115 is restricted within a function range of the core class 116.
As stated, according to the related arts, a function-module (application class) can be loaded during operation, however a main-core-module (core class) and a function-module loader (sub-core-module) can not be loaded during operation.
It is one of intentions of this invention to solve the above-stated problems. According to this invention, it becomes possible to change the function-module and the core class from a basic side, e.g., the OS, etc. without stopping an application program during operation of the device.
According to one aspect of this invention, a software-module dynamic loader for storing an application class and an application class loader upon a platform comprises a sub-core class loader for loading a new version of the one of the application class and the application class loader based on the load demanding step in which the platform is working, and the one of the application class and the application class loader demands loading the new version to the sub-core class loader.
According to another aspect of this invention, a software-module dynamic loading method for storing an application class and an application class loader upon a platform comprises load demanding of loading one of the application class and the application class loader in the application class to a sub-core class loader, loading a new version of the one of the application class and the application class loader based on the load demanding, in which the platform is working, and starting the application class after loading the new version.
Further features and applications of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.